#ifndef _CONTROL_H_
#define _CONTROL_H_
#include <string>
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"

struct Image
{
    std::string image_name;
    cv::Mat image_data;
};

class Control
{
public:
    void processCommand(int argc, char* argv[]);
    void categorisation(std::string image_path, std::string type1_path,
			std::string type2_path, std::string othertype_path,
			std::string train_type1, std::string train_type2,
			std::string space, double seuil, int option);
    int categorisation(cv::Mat image, std::vector<cv::Mat> type1_list,
		       std::vector<cv::Mat> type2_list,
		       std::string space, double seuil);
    static void readImage(std::vector<Image> &images, std::string path);
    static void convertImage(std::string src_path,
			     std::string dst_path, int option);
};

#endif /* _CONTROL_H_ */
